package com.sikaryofficial.workbench.domain.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;

/**
 * 订单定制对象 order_customized_t
 *
 * @author wuweihong
 * @date 2024-09-23
 */
@Getter
@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("order_customized_t")
public class OrderCustomized implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 订单定制ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long orderCustomizedId;

    /**
     * 定制口味名称
     */
    private String tasteName;

    /**
     * 定制参考
     */
    private String tasteReference;

    /**
     * 口味图片对象
     */
    private String tasteObj;

    /**
     * 定制包装
     */
    private String packages;

    /**
     * 是否有童锁 0-否 1-是 默认0
     */
    private String hasChildLock;

    /**
     * 是否支持可拆卸电池 0-否 1-是 默认0
     */
    private String hasDetachableBattery;

    /**
     * 尼古丁浓度, 单位 mg
     */
    private BigDecimal nicotineStrength;

    /**
     * 可代替pod-吊舱 数量
     */
    private Long replaceablePodNum;

    /**
     * 备注-其他需求
     */
    private String remark;

    /**
     * 产品编码（来自erp系统）
     */
    private String productNo;

    /**
     * 租户号
     */
    private String tenantId;

    /**
     * 乐观锁
     */
    private String revision;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createdBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(fill = FieldFill.INSERT)
    private Date createdTime;

    /**
     * 更新人
     */
    @TableField(fill = FieldFill.UPDATE)
    private Long updatedBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(fill = FieldFill.UPDATE)
    private Date updatedTime;

    /**
     * 删除版本：默认为0；删除则赋值当前记录主键ID
     */
    private String deletedVersion;
}